// 1.类型推断
//声明一个变量，但是没有定义类型 这时候会推论出一个类型 这就是传说中的类型推论
let str = '你好啊！' ///推论出的类型就是string
// str = 12445 //不能将类型“number”分配给类型“string”。
let nihao //这时就是any 可以随便赋值 
nihao = 123
nihao = true
nihao = 'nihao'
//2.类型别名
//定义类型别名 用type关键字
type jie = string
let jiege: jie = '杰哥最帅'
console.log(jiege);

//定义函数别名
type str = () => string
let s: str = () => '我是杰哥'
console.log(s);

//定义联合类型别名
type st = string | number
let sn: st = 4
let sn2: st = '你好啊'
console.log(sn, sn2);

//定义值的别名
type zhi = boolean | 0 | '你好啊'
let value: zhi = true
console.log(value);

